# pip install dlib -i https://mirrors.aliyun.com/pypi/simple/
# 一个强大的机器学习库，主要用于图像处理、人脸检测、人脸识别等任务
# pip install scikit-image -i https://mirrors.aliyun.com/pypi/simple/
# Scikit-Image 是一个图像处理库，提供了丰富的图像处理功能。io 模块用于读取和显示图像
import dlib
from skimage import io
detector=dlib.get_frontal_face_detector() # 加载人脸检测器
img=io.imread("D:/项目/python/头像识别/test.png")
win=dlib.image_window() #创建一个图像显示窗口
win.set_image(img) # 将读取的图像加载到窗口中显示
faces=detector(img,1) # 对图像进行人脸检测 1: 表示对图像进行上采样（upsample）一次，可以提高检测小尺寸人脸的准确性
# 上采样的作用
# 上采样：将图像放大，使得检测器能够检测到更小的人脸。
# 上采样次数：
# 0: 不进行上采样，适合检测大尺寸人脸。
# 1: 进行一次上采样，适合检测中等尺寸人脸。
# 2 或更高：适合检测小尺寸人脸，但会增加计算量。
print("Number of faces detected:{}".format(len(faces)))
win.add_overlay(faces) # 在图像窗口中绘制检测到的人脸边界框
dlib.hit_enter_to_continue() # 暂停程序，等待用户按下回车键后继续。这样可以保持图像窗口打开，直到用户手动关闭